using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using FwkLight.Domain.Fetching;
using NHibernate;

namespace FwkLight.Domain.Repository
{
  public interface IBaseRepo<EntityType>
  {
    EntityType SaveOrUpdate(EntityType entity);
    void Delete(EntityType entity);
    EntityType LoadEntity();
    EntityType LoadById(int id);
    IEntityMultiCriteriaFetcher<EntityType> MultiCriteriaFetcher { get; }
  }
}